EXPLICAÇÃO DA HABILIDADE
A decomposição facilita o trabalho cooperativo, pois auxilia na identificação clara de cada subtarefa (subproblema), que pode ser realizada por diferentes equipes, bem como da forma como os resultados das tarefas devem ser combinados. A identificação precisa das interfaces das tarefas (entradas e saídas) é essencial para viabilizar a combinação das soluções dessas tarefas, bem como o reúso das mesmas.
EXEMPLOS
Criar um algoritmo para organizar um baralho por naipe e numeração, seguindo as etapas:
- Coletivamente, dividir o problema em separar os naipes, ordenar as cartas de cada um dos naipes e juntar os naipes ordenados.
- Identificar que o subproblema de ordenar é comum aos 4 naipes.
- Estabelecer a seguinte forma de interação entre os subproblemas (interfaces):
- (a) o subproblema de separar os naipes tem como entrada o baralho inteiro (vetor de 52 posições) e como resultado quatro montes (vetores de 13 posições) do baralho, um para cada naipe;
- (b) os subproblemas de ordenar os naipes recebem como entrada um monte de cartas do mesmo naipe e retorna como saída esse monte ordenado;
- (c) o subproblema de juntar os naipes ordenados tem como entrada 4 montes de cartas e como saída o baralho organizado.
- Dividir a equipe em três grupos menores, atribuindo a cada uma um dos subproblemas distintos (separação dos naipes, ordenação de um monte do mesmo naipe e junção dos montes).
- Coletivamente, compor as soluções dos subproblemas de modo a obter o baralho organizado.
Softwares